|
This article attempts to set out the various similarities and differences between the various programming paradigms as a summary in both graphical and tabular format with links to the separate discussions concerning these similarities and differences in extant Wikipedia articles. == Main paradigm approaches == The following are considered the main programming paradigms. There is inevitably some overlap in these paradigms but the main features or identifiable differences are summarized in the following table: * Imperative programming – defines computation as statements that change a program state * Procedural programming, structured programming – specifies the steps the program must take to reach the desired state. * Declarative programming – defines computation logic without defining its control flow. * Functional programming – treats computation as the evaluation of mathematical functions and avoids state and mutable data * Object-oriented programming (OOP) – organizes programs as ''objects'': data structures consisting of datafields and methods together with their interactions. * Event-driven programming – the flow of the program is determined by events, such as sensor outputs or user actions (mouse clicks, key presses) or messages from other programs or threads. * Automata-based programming – a program, or part, is treated as a model of a finite state machine or any other formal automata. None of the main programming paradigms have a precise, globally unanimous definition, let alone an official international standard. Nor is there any agreement on which paradigm constitutes the best approach to developing software. The subroutines that actually implement OOP methods might be ultimately coded in an imperative, functional or procedural style that might, or might not, directly alter state on behalf of the invoking program. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Comparison of programming paradigms」の詳細全文を読む スポンサード リンク
|